import 'package:get/get.dart';

import '../modules/auth_test/bindings/auth_test_binding.dart';
import '../modules/auth_test/views/auth_test_view.dart';
import '../modules/chat/bindings/chat_binding.dart';
import '../modules/chat/views/chat_view.dart';
import '../modules/chat_2/bindings/chat_2_binding.dart';
import '../modules/chat_2/views/chat_2_view.dart';
import '../modules/create_group/bindings/create_group_binding.dart';
import '../modules/create_group/views/create_group_view.dart';
import '../modules/group_chat/bindings/group_chat_binding.dart';
import '../modules/group_chat/views/group_chat_view.dart';
import '../modules/group_chat_protobuf/bindings/group_chat_protobuf_binding.dart';
import '../modules/group_chat_protobuf/views/group_chat_protobuf_view.dart';
import '../modules/home/bindings/home_binding.dart';
import '../modules/home/views/home_view.dart';
import '../modules/invite_group/bindings/invite_group_binding.dart';
import '../modules/invite_group/views/invite_group_view.dart';
import '../modules/login/bindings/login_binding.dart';
import '../modules/login/views/login_view.dart';
import '../modules/proxy_setting/bindings/proxy_setting_binding.dart';
import '../modules/proxy_setting/views/proxy_setting_view.dart';
import '../modules/register/bindings/register_binding.dart';
import '../modules/register/views/register_view.dart';
import '../modules/single_chat/bindings/single_chat_binding.dart';
import '../modules/single_chat/views/single_chat_view.dart';
import '../modules/single_chat_protobuf/bindings/single_chat_protobuf_binding.dart';
import '../modules/single_chat_protobuf/views/single_chat_protobuf_view.dart';
import '../modules/test/bindings/test_binding.dart';
import '../modules/test/views/test_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = Routes.HOME;

  static final routes = [
    GetPage(
      name: _Paths.HOME,
      page: () => const HomeView(),
      binding: HomeBinding(),
    ),
    GetPage(
      name: _Paths.CHAT,
      page: () => const ChatView(),
      binding: ChatBinding(),
    ),
    GetPage(
      name: _Paths.SINGLE_CHAT,
      page: () => const SingleChatView(),
      binding: SingleChatBinding(),
    ),
    GetPage(
      name: _Paths.GROUP_CHAT,
      page: () => const GroupChatView(),
      binding: GroupChatBinding(),
    ),
    GetPage(
      name: _Paths.SINGLE_CHAT_PROTOBUF,
      page: () => const SingleChatProtobufView(),
      binding: SingleChatProtobufBinding(),
    ),
    GetPage(
      name: _Paths.GROUP_CHAT_PROTOBUF,
      page: () => const GroupChatProtobufView(),
      binding: GroupChatProtobufBinding(),
    ),
    GetPage(
      name: _Paths.CHAT_2,
      page: () => const Chat2View(),
      binding: Chat2Binding(),
    ),
    GetPage(
      name: _Paths.PROXY_SETTING,
      page: () => const ProxySettingView(),
      binding: ProxySettingBinding(),
    ),
    GetPage(
      name: _Paths.TEST,
      page: () => const TestView(),
      binding: TestBinding(),
    ),
    GetPage(
      name: _Paths.REGISTER,
      page: () => const RegisterView(),
      binding: RegisterBinding(),
    ),
    GetPage(
      name: _Paths.CREATE_GROUP,
      page: () => const CreateGroupView(),
      binding: CreateGroupBinding(),
    ),
    GetPage(
      name: _Paths.INVITE_GROUP,
      page: () => const InviteGroupView(),
      binding: InviteGroupBinding(),
    ),
    GetPage(
      name: _Paths.LOGIN,
      page: () => const LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: _Paths.AUTH_TEST,
      page: () => const AuthTestView(),
      binding: AuthTestBinding(),
    ),
  ];
}
